Skip to content

feat(ds): introduce BlobStoreFold#965

Merged
thomasathorne merged 1 commit intomainfrom
thomasa/fold-into-kv-store
Apr 1, 2026
Merged

feat(ds): introduce BlobStoreFold#965
thomasathorne merged 1 commit intomainfrom
thomasa/fold-into-kv-store

Conversation

@thomasathorne
Copy link
Copy Markdown
Contributor

@thomasathorne thomasathorne commented Mar 30, 2026

Closes TZX-105.

What

Introduce the BlobStoreFold folder type, which merkelises any Foldable type into any store that implements BlobStore.

Why

For the new PVM Storage, we now have an on-disk implementation of BlobStore, so using this new fold we can merkelise an entire Pvm<Normal> onto disk---the "MVP" for a PVM snapshot that respects the merkle tree structure of the state.

Manually Testing

make all

Tasks for the Author

  • Link all Linear issues related to this MR using magic words (e.g. part of, relates to, closes).
  • Eliminate dead code and other spurious artefacts introduced in your changes.
  • Document new public functions, methods and types.
  • Make sure the documentation for updated functions, methods, and types is correct.
  • Add tests for bugs that have been fixed.
  • Explain changes to regression test captures when applicable.
  • Write commit messages in agreement with our guidelines.
  • Self-review your changes to ensure they are high-quality.
  • Complete all of the above before assigning this MR to reviewers.

@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch from 470fd3c to c285881 Compare March 30, 2026 09:06
@thomasathorne thomasathorne marked this pull request as ready for review March 30, 2026 09:06
@github-actions
Copy link
Copy Markdown

github-actions bot commented Mar 30, 2026

Benchmark results for revision d2e8885:

Metric Duration TPS
Mean 1.52065638s 26.305
Worst 1.531562947s 26.117
Best 1.507166285s 26.540
Standard Deviation ±5.614438ms ±0.097
Full results
Run Transfers Duration TPS
1 40 1.526514668s 26.203
2 40 1.519966341s 26.316
3 40 1.524508752s 26.238
4 40 1.523101433s 26.262
5 40 1.52542687s 26.222
6 40 1.522059382s 26.280
7 40 1.531562947s 26.117
8 40 1.527333053s 26.189
9 40 1.524520754s 26.238
10 40 1.521093536s 26.297
11 40 1.520909835s 26.300
12 40 1.520973325s 26.299
13 40 1.516384478s 26.379
14 40 1.519063984s 26.332
15 40 1.520042089s 26.315
16 40 1.50925029s 26.503
17 40 1.515515981s 26.394
18 40 1.52047994s 26.307
19 40 1.507166285s 26.540
20 40 1.517253654s 26.363

Compare the results above with those for the default branch.

@codecov
Copy link
Copy Markdown

codecov bot commented Mar 30, 2026

Codecov Report

❌ Patch coverage is 95.32710% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 89.82%. Comparing base (4342b13) to head (83fd43c).
⚠️ Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
data/src/store/fold.rs 94.89% 4 Missing and 1 partial ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##             main     #965   +/-   ##
=======================================
  Coverage   89.82%   89.82%           
=======================================
  Files         123      124    +1     
  Lines       26457    26553   +96     
  Branches    26457    26553   +96     
=======================================
+ Hits        23764    23851   +87     
- Misses       2082     2088    +6     
- Partials      611      614    +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch from c285881 to 678f72b Compare March 30, 2026 09:17
@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch 2 times, most recently from 22a7c28 to c6d6d08 Compare March 31, 2026 09:31
@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch from c6d6d08 to 66ce3a9 Compare March 31, 2026 09:36
@thomasathorne thomasathorne force-pushed the thomasa/fold-into-kv-store branch from 66ce3a9 to 83fd43c Compare March 31, 2026 13:45
@thomasathorne thomasathorne added this pull request to the merge queue Apr 1, 2026
Merged via the queue into main with commit d626bb6 Apr 1, 2026
8 checks passed
@thomasathorne thomasathorne deleted the thomasa/fold-into-kv-store branch April 1, 2026 10:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants